package com.jadobo.xswing.model;

import java.util.ArrayList;
import java.util.List;

import com.jadobo.xswing.attrib.HtmlElementTag;
import com.jadobo.xswing.attrib.IStyle;

public abstract class AElement implements IElement {

	private String id;
	private IStyle style;
	private HtmlElementTag htmlElementTag;
	private List<IElement> elements = new ArrayList<IElement>();
	private IElement parent;
	
	/**
	 * @return the id
	 */
	public String getId() {
		return id;
	}

	/**
	 * @param id the id to set
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * @return the style
	 */
	public IStyle getStyle() {
		return style;
	}

	/**
	 * @param style the style to set
	 */
	public void setStyle(IStyle style) {
		this.style = style;
	}

	/**
	 * @return the htmlElementTag
	 */
	public HtmlElementTag getHtmlElementTag() {
		return htmlElementTag;
	}

	/**
	 * @param htmlElementTag the htmlElementTag to set
	 */
	protected void setHtmlElementTag(HtmlElementTag htmlElementTag) {
		this.htmlElementTag = htmlElementTag;
	}
	
	public List<IElement> getElements() {
		return elements;
	}
	
	public IElement getParent() {
		return parent;
	}
	
	protected void setParent(IElement parent) {
		this.parent = parent;
	}

}
